package com.itheima.d2_inner_class2;
/*
    1 什么是静态内部类？
        有static修饰的内部类，属于外部类自己持有。和静态方法使用比较相似
    2 创建对象的格式：
        外部类名.内部类名 对象名 = new 外部类.内部类(…);
    3 静态内部类中访问外部类成员的特点
        可以直接访问外部类的静态成员，不可以直接访问外部类的实例成员。
 */
//外部类
class Outer{
    private String name="黑马";//实例变量
    private static int num =10;
    //静态方法（成员方法）
    public static void show(){
        //静态方法中只能访问静态成员
//        name="上海黑马";  //报错。
//        num=100;
    }
    //静态成员内部类
    public static class Inner{
        public void method(){
            System.out.println("静态内部成中的method方法");
            //System.out.println(name);//报错。 无法访问外部类中的实例成员变量
            System.out.println(num);//可以访问外部类中静态变量
        }
    }
}


public class Test {
    public static void main(String[] args) {
        //创建静态内部类对象
        Outer.Inner inner = new Outer.Inner();

        //访问静态内部类中的成员
        inner.method();
    }
}
